/**
 *《用户体系》
 * 1. 注册
 *   1.1 用户名
 *   1.2 密码(加盐、加密)
 *   1.3 手机号(唯一)
 *   1.4 验证码
 * 
 * 2. 登录
 *   2.1 手机号
 *   2.2 密码
 *   2.3 验证码
 *   2.4 jwt
 * 
 * 3. 用户列表
 *   3.1  增
 *   3.2  删
 *   3.3  查
 *   3.4  改
 * 
 * 4. 权限
 *   4.1  管理员
 *   4.2  普通用户
 * 
 */

const exec = require('../server/users_server.js')
const { handleKey } = require('../utils/index.js')
module.exports = (router) => {

  /**
   * 用户列表
   * @params 
   * @returns Object
   */
  router.post('/list', async (req, res, next) => {
    const data = await exec.findAll('users', 'limit 5')
    res.send(data);
  });

  /**
  * 用户登录
  * @params 
  * @returns Object
  */
  router.post('/login', async (req, res, next) => {
    const params = req.body
    const data = await exec.login('users', params)
    res.send(data);
  });

  /**
   * 用户注册
   * @params 
   * @returns Object
   */
  router.post('/register', async (req, res, next) => {
    const params = req.body
    const data = await exec.create('users', params)
    res.send(data);
  });

  /**
   * 用户删除
   * @params 
   * @returns Object
   */
  router.post('/del', async (req, res, next) => {
    const params = req.body
    const data = await exec.delete('users', handleKey(params))
    res.send(data);
  });

  /**
   * 用户更新
   * @params 
   * @returns Object
   */
  router.post('/update', async (req, res, next) => {
    const params = req.body
    const u_id = params.u_id
    delete params.u_id
    const data = await exec.update('users', handleKey([params]), `u_id = ${u_id}`)
    res.send(data);
  });


  return router
};
